package com.itany.corejava.code01_基础;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年10月23日 9:39
 */
public class Test05_自动类型转换 {
    public static void main(String[] args){
        byte a=1;
        int i=2;

        // 当byte类型与int类型的变量做运算的时候
        // 返回的值必须使用容量大的类型接收
        // 此处的返回值必须使用int接收
        // byte b=a+i;//报错
        int b=a+i;


        //当容量小的数据与容量大的数据类型进行运算时候，会自动转换成容量大的数据类型
        long c=10L;
        long d=b+c;
        System.out.println("===================");
        // 此时容量的大小是根据指定数据类型的值的范围而定的
        // byte、char、short->int->long->float->double
        float f=12+3.14f;
        double g=1.34f+3.15f;
        double q=10+3.13;
        short s=20;
        int i2=s+8;

        //char类型的数据转换成数值时候是根据ASII码进行转换的
        char w='a';
        int i3=w+1;
        System.out.print(i3);

        //当byte、short、char之间进行运算时候，至少需要使用int来接收
        byte a1=20;
        short a2=10;
        char a3='a';
        int i4=a1+a2+a3;

    }
}
